Directly reflective meta-programming

نویسنده

  • Aaron Stump
چکیده

Existing meta-programming languages operate on encodings of programs as data. This paper presents a new meta-programming language, based on an untyped lambda calculus, in which structurally reflective programming is supported directly, without any encoding. The language features call-by-value and call-by-name lambda abstractions, as well as novel reflective features enabling the intensional manipulation of arbitrary program terms. The language is scope safe, in the sense that variables can neither be captured nor escape their scopes. The expressiveness of the language is demonstrated by showing how to implement quotation and evaluation operations, as proposed by Wand. The language’s utility for meta-programming is further demonstrated through additional representative examples. A prototype implementation is described and evaluated.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Directly Reflective Meta - Programming ∗ Aaron

Existing meta-programming languages operate on encodings of programs as data. This paper presents a new meta-programming language, based on an untyped lambda calculus, in which structurally reflective programming is supported directly, without any encoding. The language features call-by-value and call-by-name lambda abstractions, as well as novel reflective features enabling the intensional man...

متن کامل

An Object-Oriented Reflective Approach to Mobile-Aware Network Programming

Current distributed environments introduce reflection by providing an introspective interface for accessing component properties. Such interfaces provide the ability to dynamically compose and send well-formed messages to advertised distributed services on a network. However, mobile systems require more than the ability to dynamically access these services; they require a mechanism for transpar...

متن کامل

Albedo A meta-object infrastructure for Smalltalk

Reflection in the object-oriented paradigm became prominent after the publication of Pattie Maes' thesis on Computational Reflection. In her thesis Maes provides a framework for introducing computational reflection into the object-oriented paradigm. Maes observed that "it must be said that the concept of reflection fits most naturally in the spirit of object-oriented programming". In an attempt...

متن کامل

Towards Linguistic Symbiosis of an Object-Oriented and a Logic Programming Language

Reflective systems have a causally connected (metalevel) representation of themselves. Most reflective systems use the same language to reason about their metalevel representation as the language that is used to reason about their domain. In symbiotic reflection a different language is used at the metalevel. The practical usability of this symbiotic reflection is enhanced if a linguistic symbio...

متن کامل

Language Symbiosis through Symbiotic Reflection

Meta-programming is the act of using one system or language to reason about another one. Reflection describes systems that have access to and change a causally connected representation of themselves, hence leading to self-extensible systems. In reflective languages, only one language is used, while in meta-programming two languages play a role (the base language and the meta language). In this ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • Higher-Order and Symbolic Computation

دوره 22  شماره 

صفحات  -

تاریخ انتشار 2009